package com.sky.up.u_jvm;

public class Lesson1 {

}
/**
 # 初始JVM
 
 ## JVM概念
 	* JVM是Java Virtual Machine的简称。意为Java虚拟机
 	* 虚拟机 - 指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统
 	* 有哪些虚拟机 -VMWare -Visual Box -JVM
 	* VMWare或者Visual Box都是使用软件模拟物理CPU的指令集
 	* JVM使用软件模拟Java字节码的指令集
 
 ## 规范
 	* Java语言规范 -语法 -变量 -类型 -文法 
 	* JVM规范 -Class文件类型 -运行时数据 -帧栈 -虚拟机的启动 -虚拟机的指令集
 	
 	### Java语言规范
	 	* 语法定义
	 		- ifThenStatement:
	 			if(Expression) Statement
	 			例 if(true){ do sth;}
	 		- ArgumentList
	 			Argument ArgumentList 
	 			例 add(a,b,c,d)
	 	* 词法结构
	 		- \\u + 4个16进制数字表示UTF-16
	 		- 行终结符：CR,or LF, or CR LF
	 		- 空白符 空格 tab \\t 换页 \\f 行终结符
	 		- 注释
	 		- 标示符
	 		- 关键字
	 	* 类型和变量
	 		- 元类型 byte short int long float char
	 		- 变量初始值 boolean/false char/\\u0000
	 		- 泛型
	 	* Java内存模型
	 	* 类加载链接的过程
	 	* public static final abstract的定义
	 	* 异常
	 	* 数组的使用
 
	### JVM规范
	 	* Java语言规范定义了什么是Java语言
	 	* Java语言和JVM相对独立
	 		- Groovy
	 		- Clojure
	 		- Scala
	 	* JVM主要定义二进制class文件和JVM指令集等
	 	* Class文件格式
	 	* 数字的内部表示和存储

### JVM指令集
- 类型转化 l2i
- 出栈入栈操作 aload astore
- 运算 iadd isub
- 流程控制 ifeq ifen
- 函数调用 invokevirtual invokeinterface invokespecial invokestatic

### JVM需要对Java Library提供以下支持：
- 反射java.lang.reflect
- ClassLoader
- 初始化class和interface
- 安全相关java.security
- 多线程
- 弱引用



 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 */
